package com.mm.common.pipeline.pipelineNodes;

import com.mm.common.pipeline.PipelineHandler;
import com.mm.common.pipeline.PipelineNode;
import com.mm.common.pipeline.Product;

/**
 * 流水线上的空的节点
 * 这个节点出现后，产品将一直走到流水线的末尾，不再做任何处理
 */
public class NullNode extends PipelineNode {

    private NullNode(Product product){
        this.product = product;
    }

    public static NullNode start(Product product){
        return new NullNode(product);
    }

    @Override
    public <T extends PipelineHandler> PipelineNode addHandler(Class<T> bean) {
        // 坏产品不处理
        return this;
    }

    @Override
    public PipelineNode addHandler(PipelineHandler handler) {
        // 坏产品不处理
        return null;
    }
}
